﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace MetricasII
{
    public partial class Form1 : Form
    {
        public MySqlConnection conexion;
        private string sentencias;
        private MySqlCommand ejecutar;
        private MySqlDataAdapter DatAd;
        private MySqlDataReader DatRe;
        private DataSet DS;
        private BindingSource DatBS;
        
        public Form1()
        {
            InitializeComponent();
            txtParametros.Visible = false;
            lblCodigoProd.Visible = false;
            txtParametros.MaxLength = 20;
            CBTipPro.Visible = false;
            llenar_combo();
        }
        
        public void Conectar()
        {
            string servidor = "localhost";
            string BDatos = "catalogo";
            string usuario = "root";
            string password = "diana_18";
            string CadConexion = "SERVER=" + servidor + ";" + "DATABASE=" + BDatos + ";" + "UID=" + usuario + ";" + "PWD=" + password + ";";
            conexion = new MySqlConnection(CadConexion);
        }

        private void btnbuscar_Click(object sender, EventArgs e)
        {
            
        }
        public void Nombre_Producto()
        {
            sentencias = "select * from productos where name = '" + txtParametros.Text + "'";
        }
        public void Tipo_Producto()
        {
            sentencias = "select * from productos where tipo_prod = '" + CBTipPro.Text + "'";
        }
        public void Codigo_Producto()
        {
            sentencias = "select * from productos where clavepro = '" + txtParametros.Text + "'";
        }
        public void Busqueda_Com()
        {
            sentencias = "select * from productos";
        }
        public void Complementos()
        {
            DatAd = new MySqlDataAdapter(sentencias, conexion);
            DS = new DataSet();
            DatBS = new BindingSource();
            DatAd.Fill(DS, "productos");
            DatBS.DataSource = DS;
            DatBS.DataMember = "productos";
            DGVDatos.DataSource = DatBS;
        }

        private void btnbuscar_Click_1(object sender, EventArgs e)
        {
            try
            {
                Conectar();
                if (RBNombre.Checked == true)
                    Nombre_Producto();
                if (RBCategoria.Checked == true)
                    Tipo_Producto();
                if (RBcodigo.Checked == true)
                {
                    string aux;
                    aux = txtParametros.Text;
                    txtParametros.Text = aux.ToUpper();
                    Codigo_Producto();
                }
                if (RBtodos.Checked == true)
                    Busqueda_Com();
                Complementos();
            }
            catch (Exception)
            {
                MessageBox.Show("No hay parametros de busqueda");
            }
        }

        private void RBNombre_CheckedChanged_1(object sender, EventArgs e)
        {
            if (RBNombre.Checked == true)
            {
                txtParametros.Visible = true;
                txtParametros.MaxLength = 20;
            }
            else
            {
                txtParametros.Visible = false;
                txtParametros.Clear();
            }
        }

        private void RBcodigo_CheckedChanged_1(object sender, EventArgs e)
        {
            if (RBcodigo.Checked == true)
            {
                txtParametros.Visible = true;
                lblCodigoProd.Visible = true;
                txtParametros.MaxLength = 8;
            }
            else
            {
                txtParametros.Visible = false;
                lblCodigoProd.Visible = false;
                txtParametros.MaxLength = 20;
                txtParametros.Clear();
            }
        }

        private void txtParametros_TextChanged_1(object sender, EventArgs e)
        {
            

            if (RBNombre.Checked == true)
                sentencias = "select * from productos where name LIKE  '%" + txtParametros.Text + "%'";
            if (RBcodigo.Checked == true)
                sentencias = "select * from productos where clavepro LIKE  '%" + txtParametros.Text + "%'";
            DatAd = new MySqlDataAdapter(sentencias, conexion);
            DS = new DataSet();
            DatBS = new BindingSource();
            DatAd.Fill(DS, "productos");
            DatBS.DataSource = DS;
            DatBS.DataMember = "productos";
            DGVDatos.DataSource = DatBS;
        }
        public void llenar_combo()
        {
            Conectar();
            ejecutar = new MySqlCommand("select distinct tipo_prod from productos",this.conexion);
            this.conexion.Open();
            DatRe = ejecutar.ExecuteReader();
            while (DatRe.Read())
            {
                CBTipPro.Items.Add(DatRe.GetValue(0).ToString());
            }
            DatRe.Close();
        }

        private void RBCategoria_CheckedChanged(object sender, EventArgs e)
        {
            if (RBCategoria.Checked == true)
                CBTipPro.Visible = true;
            else
                CBTipPro.Visible = false;
        }
    }
}
